解答1[Java]:

class Solution {
    public String frequencySort(String s) {
        int[] map = new int[128];
        for (char c : s.toCharArray()) {
            map[c]++;
        }
        char[] res = new char[s.length()];
        int pos = 0;
        while (pos < s.length()) {
            char max = 0;
            for (char c = 0; c < map.length; c++) {
                if (map[c] > map[max])
                    max = c;
            }
            int repeat = map[max];
            for (int i = 0; i < repeat; i++) {
                res[pos++] = max;
                map[max]--;
            }
        }
        return new String(res);
    }
}

results matching ""

    No results matching ""